/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package conversores;

import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import modelo.CategoriaProduto;
import persistencia.CategoriaProdutoDAO;

@FacesConverter(forClass = CategoriaProduto.class, value = "conversorCategoriaProduto")
public class ConversorCategoriaProduto implements Converter {

    //O método getAsObject recebe a string que descreve a conta e retorna para a aplicação
    //uma instância do objeto Conta.
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String nome) {
        CategoriaProduto categoriaProduto = null;
        try {
            CategoriaProdutoDAO categoriaProdutoDAO = new CategoriaProdutoDAO();
            categoriaProduto = categoriaProdutoDAO.getCategoriaProdutoPorNome(nome);
        } catch (SQLException ex) {
            Logger.getLogger(ConversorCategoriaProduto.class.getName()).log(Level.SEVERE, null, ex);
        }
        return categoriaProduto;
    }

    //O método getAsString faz o contrário de getAsObject, ou seja, recebe um objeto do tipo
    //Conta e retorna uma string que representa o mesmo para a aplicação.
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        CategoriaProduto categoriaProduto = (CategoriaProduto) value;
        return categoriaProduto.getNome();
    }


}
